package com.mdd.maduoduo.di.component;

import com.mdd.maduoduo.activity.AddMsgActivity;
import com.mdd.maduoduo.activity.AlreadyReceiveActivity;
import com.mdd.maduoduo.activity.ExchangeActivity;
import com.mdd.maduoduo.activity.LoginActivity;
import com.mdd.maduoduo.activity.MainActivity;
import com.mdd.maduoduo.activity.MaxActivity;
import com.mdd.maduoduo.activity.SelectTimeActivity;
import com.mdd.maduoduo.activity.SettingActivity;
import com.mdd.maduoduo.activity.ShareCodeActivity;
import com.mdd.maduoduo.di.ActivityModule;
import com.mdd.maduoduo.di.ApiModule;
import com.mdd.maduoduo.di.PerActivity;
import com.mdd.maduoduo.fragment.HomeFragment;
import com.mdd.maduoduo.fragment.MineFragment;

import dagger.Component;

@PerActivity
@Component(dependencies = ApplicationComponent.class, modules = {ActivityModule.class, ApiModule.class})
public interface UIComponent extends ActivityComponent {

    void inject(MainActivity mainActivity);

    void inject(LoginActivity loginActivity);

    void inject(MineFragment mineFragment);

    void inject(MaxActivity maxActivity);

    void inject(ExchangeActivity exchangeActivity);

    void inject(SettingActivity settingActivity);

    void inject(ShareCodeActivity shareCodeActivity);

    void inject(SelectTimeActivity selectTimeActivity);

    void inject(AddMsgActivity addMsgActivity);

    void inject(HomeFragment homeFragment);

    void inject(AlreadyReceiveActivity alreadyReceiveActivity);
}
